; PCAN_USB.inf
;
; Universal installation file (.inf) for PEAK CAN hardware.
; Automatically generated by Scriptor/JScript.
;
; Supported CAN devices: PCAN_USB,PCAN_USBPRO,PCAN_USBHUB,PCAN_USB_II
; Build type:            free
; Target OS:             WXP
; Target architecture:   x86
;
; Generation time:       12.05.2010 09:46
; Generated for version: 3.4.0.9248
;
; (c) Copyright 2010 by PEAK-System Technik GmbH, Darmstadt.

; 


[Version]
Signature="$WINDOWS NT$"
Provider=%ProviderName%
Class=%DeviceClassName%
ClassGUID={C38C9D86-471E-4d6b-9FB6-78DDA20E3F70}
DriverVer=05/12/2010,3.4.0.9248
CatalogFile=Pcan_usb.cat

; ==============================================================================

[Manufacturer]
%MfgName%=Mfg0,NTx86

; Decorated model section take precedence over undecorated
; ones on XP and later.
[Mfg0.NTx86]

%DeviceDescPeakUsb%  =PeakUsb.DeviceInstall, USB\VID_0C72&PID_000C
%DeviceDescPkUsbPro%  =PkUsbPro.DeviceInstall, USB\VID_0C72&PID_000D&MI_00
%DeviceDescPkUsbHub%  =PkUsbHub.DeviceInstall, USB\VID_0C72&PID_000E
%DeviceDescPkUsbII%  =PkUsbII.DeviceInstall, USB\VID_0C72&PID_000F



[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,0,%DeviceClassName%
HKR,,Icon,,-5

; ==============================================================================

[SourceDisksNames]
1 = %DiskId%,,,""

[SourceDisksFiles]
PCAN_USB.SYS = 1

[DestinationDirs]
DefaultDestDir = 12                ; dirid = \Drivers on WinNT platforms
PEAKCAN_CoInstaller_CopyFiles = 11 ; dirid = \system32 on WinNT platforms


; ========= Windows NT =================

; Registry Einträge für den Treiber, gelten für alle Devices
;
; flags:
; 0x00000001 (FLG_ADDREG_BINVALUETYPE)
;     The given value is "raw" data. (This value is identical to the FLG_ADDREG_TYPE_BINARY.)
; 0x00000002 (FLG_ADDREG_NOCLOBBER)
;     Prevent a given value from replacing the value of an existing value entry.
; 0x00000004 (FLG_ADDREG_DELVAL)
;     Delete the given subkey from the registry, or delete the specified value-entry-name from the specified registry subkey.
; 0x00000008 (FLG_ADDREG_APPEND)
;     Append a given value to that of an existing named value entry. This flag is valid only if FLG_ADDREG_TYPE_MULTI_SZ is also set. The specified string value is not appended if it already exists.
; 0x00000010 (FLG_ADDREG_KEYONLY)
;     Create the given subkey, but ignore any supplied value-entry-name and/or value.
; 0x00000020 (FLG_ADDREG_OVERWRITEONLY)
;     Reset to the supplied value only if the specified value-entry-name already exists in the given subkey.
; 0x00001000 (FLG_ADDREG_64BITKEY)
;     (Windows XP and later.) Make the specified change in the 64-bit registry. If not specified, the change is made to the native registry.
; 0x00002000 (FLG_ADDREG_KEYONLY_COMMON)
;     (Windows XP and later.) This is the same as FLG_ADDREG_KEYONLY but also works in a del-registry-section (see INF DelReg Directive ).
; 0x00004000 (FLG_ADDREG_32BITKEY)
;     (Windows XP and later.) Make the specified change in the 32-bit registry. If not specified, the change is made to the native registry.
; 0x00000000 (FLG_ADDREG_TYPE_SZ)
;     The given value entry and/or value is of type REG_SZ. Note that this is the default type for a specified value entry, so the flags value can be omitted from any reg-root= line in an add-registry section that operates on a value entry of this type.
; 0x00010000 (FLG_ADDREG_TYPE_MULTI_SZ)
;     The given value entry and/or value is of the registry type REG_MULTI_SZ. This specification does not require any NULL terminator for a given string value.
; 0x00020000 (FLG_ADDREG_TYPE_EXPAND_SZ)
;     The given value entry and/or value is of the registry type REG_EXPAND_SZ.
; 0x00010001 (FLG_ADDREG_TYPE_DWORD)
;     The given value entry and/or value is of the registry type REG_DWORD.
; 0x00020001 (FLG_ADDREG_TYPE_NONE)
;     The given value entry and/or value is of the Windows 2000 registry type REG_NONE.
[AllDevices.AddReg]
; Leerer Eintrag
HKR, "DriverParams", "", 0x00010003, 0
;HKR, "DriverParams", "RegistryHardwareLoading", 0x00010003, 1
;HKR, "DriverParams", "PelicanMaxIdenticEcc", 0x00010003, 1000
;HKR, "DriverParams", "ISRTimeout", 0x00010003, 0 ; 10000 für LPT!
;HKR, "DriverParams", "DelayXmtQueueSize", 0x00010003, 5000
;HKR, "DriverParams", "RcvQueueSize", 0x00010003, 32000
;HKR, "DriverParams", "XmtQueueSize", 0x00010003, 32000
;HKR, "DriverParams", "SurpriseRemovalOK", 0x00010003, 1
;HKR, "Parameters", "BreakOnEntry", 0x00010003, 0
; -- Disable KMDF verifier for release drivers. Overwrite existing values.
;HKR, "Parameters\Wdf", "VerifierOn", 0x00010001, 0
HKR, "Parameters\Wdf", "KmdfLibraryVersion", 0x00000000, "1.9"
;HKR, "Parameters\Wdf", "VerboseOn", 0x00010001, 0
;HKR, "Parameters\Wdf", "DbgBreakOnError", 0x00010001, 0  

; ---------- PCAN_USB ------------------

[PeakUsb.DeviceInstall.NT]

CopyFiles=PeakUsb.NT.Files

[PeakUsb.DeviceInstall.NT.Services]
; Service name = driver name = "PCAN_USB"
Addservice = PCAN_USB,0x00000002,PeakUsb.AddService

[PeakUsb.NT.Files]
PCAN_USB.SYS

[PeakUsb.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_USB.SYS
AddReg         = AllDevices.AddReg,PeakUsb.AddReg

[PeakUsb.AddReg]
;HKR, ,"Net1",0,"Intern,0,0"
;HKR, ,"Net2",0,"TestNet_PCI1,16,0x0014"
;HKR, ,"Net3",0,"TestNet_PCI2,15,0x0014"
;HKR, "Parameters", "BreakOnEntry", 0x00010003, 0


[PeakUsb.DeviceInstall.NT.CoInstallers]
AddReg=PEAKCAN_CoInstaller_AddReg
CopyFiles=PEAKCAN_CoInstaller_CopyFiles

[PeakUsb.DeviceInstall.NT.Wdf]
KmdfService =  PCAN_USB, PEAKCAN_wdfsect

; ---------- PCAN_USBPRO ------------------

[PkUsbPro.DeviceInstall.NT]

CopyFiles=PkUsbPro.NT.Files

[PkUsbPro.DeviceInstall.NT.Services]
; Service name = driver name = "PCAN_USB"
Addservice = PCAN_USB,0x00000002,PkUsbPro.AddService

[PkUsbPro.NT.Files]
PCAN_USB.SYS

[PkUsbPro.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_USB.SYS
AddReg         = AllDevices.AddReg,PkUsbPro.AddReg

[PkUsbPro.AddReg]
;HKR, ,"Net1",0,"Intern,0,0"
;HKR, ,"Net2",0,"TestNet_PCI1,16,0x0014"
;HKR, ,"Net3",0,"TestNet_PCI2,15,0x0014"
;HKR, "Parameters", "BreakOnEntry", 0x00010003, 0


[PkUsbPro.DeviceInstall.NT.CoInstallers]
AddReg=PEAKCAN_CoInstaller_AddReg
CopyFiles=PEAKCAN_CoInstaller_CopyFiles

[PkUsbPro.DeviceInstall.NT.Wdf]
KmdfService =  PCAN_USB, PEAKCAN_wdfsect

; ---------- PCAN_USBHUB ------------------

[PkUsbHub.DeviceInstall.NT]

CopyFiles=PkUsbHub.NT.Files

[PkUsbHub.DeviceInstall.NT.Services]
; Service name = driver name = "PCAN_USB"
Addservice = PCAN_USB,0x00000002,PkUsbHub.AddService

[PkUsbHub.NT.Files]
PCAN_USB.SYS

[PkUsbHub.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_USB.SYS
AddReg         = AllDevices.AddReg,PkUsbHub.AddReg

[PkUsbHub.AddReg]
;HKR, ,"Net1",0,"Intern,0,0"
;HKR, ,"Net2",0,"TestNet_PCI1,16,0x0014"
;HKR, ,"Net3",0,"TestNet_PCI2,15,0x0014"
;HKR, "Parameters", "BreakOnEntry", 0x00010003, 0


[PkUsbHub.DeviceInstall.NT.CoInstallers]
AddReg=PEAKCAN_CoInstaller_AddReg
CopyFiles=PEAKCAN_CoInstaller_CopyFiles

[PkUsbHub.DeviceInstall.NT.Wdf]
KmdfService =  PCAN_USB, PEAKCAN_wdfsect

; ---------- PCAN_USB_II ------------------

[PkUsbII.DeviceInstall.NT]

CopyFiles=PkUsbII.NT.Files

[PkUsbII.DeviceInstall.NT.Services]
; Service name = driver name = "PCAN_USB"
Addservice = PCAN_USB,0x00000002,PkUsbII.AddService

[PkUsbII.NT.Files]
PCAN_USB.SYS

[PkUsbII.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_USB.SYS
AddReg         = AllDevices.AddReg,PkUsbII.AddReg

[PkUsbII.AddReg]
;HKR, ,"Net1",0,"Intern,0,0"
;HKR, ,"Net2",0,"TestNet_PCI1,16,0x0014"
;HKR, ,"Net3",0,"TestNet_PCI2,15,0x0014"
;HKR, "Parameters", "BreakOnEntry", 0x00010003, 0


[PkUsbII.DeviceInstall.NT.CoInstallers]
AddReg=PEAKCAN_CoInstaller_AddReg
CopyFiles=PEAKCAN_CoInstaller_CopyFiles

[PkUsbII.DeviceInstall.NT.Wdf]
KmdfService =  PCAN_USB, PEAKCAN_wdfsect





; ======== Common CoInstaller entries for all devices ==========================

[PEAKCAN_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[PEAKCAN_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[SourceDisksFiles]
WdfCoInstaller01009.dll=1 ; make sure the number matches with SourceDisksNames

[PEAKCAN_wdfsect]
KmdfLibraryVersion = 1.9

; ======== Strings section ===================================================

[Strings]
DiskId="PCAN-Hardware Installation Disk"
ProviderName="PEAK-System Technik GmbH, Darmstadt, Germany"
MfgName="PEAK-System Technik GmbH"

; The driver identifies devices by these names: do not change!
DeviceDescPeakUsb="PCAN-USB"
DeviceDescPkUsbPro="PCAN-USB Pro"
DeviceDescPkUsbHub="PCAN-USB Hub"
DeviceDescPkUsbII="PCAN-USB"

SvcDesc="PEAK PCAN_USB driver for CAN hardware"
DeviceClassName="CAN-Hardware"


